<template>
  <header class="header">
    <h1>todos</h1>
    <!--9.0 v-module 关联全选的状态 -->
    <input id="toggle-all" class="toggle-all" type="checkbox" v-model="isAll">
    <label for="toggle-all"></label>
    <!-- 3.0绑定键盘事件 -->
    <!-- 3.1输入值 v-module获取值 -->
    <input
      class="new-todo"
      placeholder="输入任务名称-回车确认"
      autofocus
      @keydown.enter="downFn"
      v-model="task"
    />
  </header>
</template>

<script>
// 新增任务
export default {
  data () {
    return {
      task:'',
      
    }
  },
  methods: {
    downFn(){
      // 3.2(重要)-当前任务名字要加到list数组种
      // 子传父
      this.$emit('create',this.task)
      this.task=''
    }
  },
  // 9.1 定义计算属性
  computed: {
    isAll:{
      set(checked){
        // 9.3 影响数组里每个小选框绑定的isDone属性
        this.arr.forEach(obj => obj.isDone = checked);
      },
      get(){
        // 9.4 小选框统计状态 - 全选框
        // 9.5 如果没有数据，直接返回false
        return this.arr.length !== 0 && this.arr.every(obj => obj.isDone)
      }
    }
  },
  //9.2 父传子 -- list数组
  props: ['arr']
}
</script>